package com.example.kotlinstudy.activity//package com.example.kotlinstudy
//
//import android.os.Bundle
//import android.util.Log
//import android.widget.Toast
//import androidx.activity.ComponentActivity
//
///**
// * @author fanxi
// * @date 2020-11-10.
// * description：
// * question
// * one:why the line 39 use string type for int param
// * two:what's meaning of this function?
// * three: 87代表的是返回值类型吗？
// * four：115 为何遍历字符串有问题
// * five:为什么生成String  不能调用trimMargin（） 方法等
// */
//class SecondTestActivity : ComponentActivity() {
//    val postion = 1
//    val position1: Int = 2
//    internal val name: String = "我是凡茜"
//
//
//
//    override fun onCreate(savedInstanceState: Bundle?) {
//        super.onCreate(savedInstanceState)
//        setContentView(androidx.core.R.layout.ime_base_split_test_activity)
////        tvTitle?.text = "fancy的登录"
////        tvTitle.setOnClickListener { Toast.makeText(this, "ddd", Toast.LENGTH_LONG).show() }
////        btnJump2.setOnClickListener { }
//    }
//
//    lateinit var name2 : String
//
//    init {
//
//        var name = "fadf"
////        name.let {
////
////        }
//
//
//        var type = 1
//
//        when(type) {
//            1 ->
//                ""
//            in 2..5 ->
//                ""
//            8 ->
//                ""
//            else ->
//                ""
//        }
//
//    }
//
//    object SingleTonClass {
//
//        var params: String? = null
//
//        fun function() {
//
//        }
//    }
//
//    /**
//     * 求和返回
//     */
//    fun sumNum(a: Int, b: Int): Int {   // Int 参数，返回值 Int
//        return a + b
//    }
//
//
//    /******annotation1、函数的变长参数*****/
//    fun main(args: Array<String>) {
//        vars(1, 2, 3, 4, 5)  // 输出12345
//    }
//
//    fun vars(vararg v: Int) {
//        for (vt in v) {
////            print(vt)
//        }
//    }
//
//    /********2、Lamda函数的变长参数*****/
//
//    fun mainLamda(args: Array<String>) {
//        val sumLambda: (Int, Int) -> Int = {     x, y -> x + y }
////        println(sumLambda(1,2))  // 输出 3
//    }
//
//    /********3、NULL*****/
//    //1、类型后面加？表示可以为空
//    val age: String? = "23"
//    //2、!!抛出空指针异常
//    val ages = age!!.toString()
//    //3、？ 不做处理返回 null, 为null了不执行
//    val ages1 = age?.toString()
//    //4、age为空返回-1
//    val ages2 = age?.toString() ?: "333"
//
//    //5
//    fun parseInt(str: String): Int? {
//        // ...
//        return 0
//    }
//
//    //6
//    fun isNull(args: Array<String>) {
//        args.size < 2
//    }
//
//    /********4、类型检测及自动类型转换*****/
//    //instanceof  这儿的Any相当于所有的基类
//
//    fun getStringLength(obj: Any): Int? {
//        if (obj is String) {
//            return obj.length
//        }
//
//        if (obj !is String)
//            return null
//
//        return obj.length
//
//    }
//
//    /********5、区间*****/
//    fun testDuration() {
//        for (i in 1..4) Log.d("fancy", "----" + i)
//        // 使用 until 函数排除结束元素
//
//    }
//
//    /******************************************=================基本数据类型================***********************************************************/
//
//    /********1、数组*****/
//    fun testArry(args: Array<String>) {
//        //创建数组
//        val a = arrayOf(1, 2, 3)
//        // [0,2,4]
//        val b = Array(3, { i -> (i * 2) })
//    }
//
//    /********1、字符串*****/
//    fun testCha() {
//        //1、for循环来遍历字符
//        for (c in name.chars()) {
//
//        }
//        //2、支持三个引号 """ 扩起来的字符串，支持多行字符串   多个字符串拼接
//        var text = """
//    多行字符串
//    多行字符串
//    """
//
//        //3、trimMargin()
//        val text1 = """
//    |dasdaf
//    | ddfasdfsadfa
//"""
//        text1.trimMargin()
//    }
//
//    /********2、字符串模板 *****/
//    fun mainStr() {
//        val a = 10;
//        val s = "i = $a" // 求值结果为 "i = 10"
//    }
//
//
//
//}
//
//
//
//
